草庐IT

Java HotSpot 枚举开销

全部标签

java - 如何在 Hibernate 中映射一组枚举类型?

在hibernate中,是否可以为一个类定义一个映射到一组枚举?我已经能够找到有关如何定义集合映射的示例,并且已经能够找到有关如何映射枚举的单独示例,但我无法弄清楚如何为类定义枚举。谁能给我举个例子吗?这是在现有应用程序之上构建的,因此我无法更改数据库架构。这是我想要建模的关系。Wicket是一个普通类,WicketType是一个Java枚举。+----------------++------------++------------+|Wicket||RefTable||WicketType|+----------------++------------++------------+|

java - 在这种情况下使用合适的嵌套枚举?

我需要支持多种ChartTypes。这些图表类型中的每一种都可以支持许多ChartSubTypes。例如AreaChart类型可以有PercentArea、StackedArea等。我正在考虑为ChartTypes和SubTypes然后在某处维护一个map,类似于:MapmapTypes;我可以在这里以某种方式使用嵌套枚举模式吗?如果是那么怎么办? 最佳答案 如果该定义是常量(即你知道哪些子类型可以包含每种类型)你可以在这里使用枚举定义如下enumChartSubTypes{PercentArea,StackedArea,Chart

java - 在 HQL 查询中使用枚举列表作为参数

我有一个名为Band的实体具有属性Listgenres,Genres是一个具有以下值的枚举:ALTERNATIVE_ROCK("AlternativeRock"),CLASSIC_ROCK("ClassicRock"),HARD_ROCK("HardRock"),HEAVY_METAL("HeavyMetal"),PROGRESSIVE_ROCK("ProgressiveRock");我正在尝试创建一个返回List的方法使用List作为使用HQL的参数,类似于:publicListlistBandsPerGenres(Listgenres);但是我收到了一些我尝试过的HQL查询错误?以

java - 如何使用 JPA 和 Hibernate 映射 PostgreSQL 枚举

我正在尝试将名为transmission_result的PostgreSQL自定义类型映射到Hibernate/JPAPOJO。PostgreSQL自定义类型或多或少是一种enum类型的字符串值。我创建了一个名为PGEnumUserType的自定义EnumUserType以及一个代表PostgreSQL枚举值的enum类。当我针对真实数据库运行它时,我收到以下错误:'ERROR:column"status"isoftypetransmission_resultbutexpressionisoftypecharactervaryingHint:Youwillneedtorewriteor

java - 为什么 Java 不允许在方法中定义枚举?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Java:LocalEnums为什么我们不能在java的特定方法中定义枚举?如果我有一个场景,我将只在一个方法中使用这些枚举值,而不是在任何其他地方。在方法中声明而不是在全局定义它不是很好吗?我的意思是公开或默认。

java - Java 中的嵌套枚举?

我想为我的Web应用程序中可用的各种ajax服务定义一些枚举,例如:EnumService{REGISTER,LOGIN,NEWS,FAQ}但是,这些枚举中的每一个也会有特定的状态,如失败、加载等。所以我希望能够使用REGISTER.LOADED、LOGIN.LOADED等等,在我的事件总线上启动事件。但是每个状态枚举必须是唯一的。即Register.LOADED必须不同于FAQ.LOADED,等等。编辑:此外,我必须能够将所有状态存储在同一HashMap中,例如Register.LOADED和Login.LOADED必须可存储在同一HashMap中。并且父服务枚举,即LOGIN、RE

java - 枚举是否意味着静态类?

我在这里有一个困惑。如果我不能将一个类声明为静态的,enum是如何工作的?它看起来像一个静态类,因为它自己实例化并且可以在任何地方调用。看起来我几乎可以像其他静态字段一样使用枚举。使用枚举安全吗? 最佳答案 enum类型自动是静态的。你不能有一个非static枚举,所以static是隐含的。JLS8.9:Nestedenumtypesareimplicitlystatic.Itispermissibletoexplicitlydeclareanestedenumtypetobestatic.

Java:枚举常量中方法和变量的定义

我正在做一些实验,无意间写了一个代码,这很奇怪,我还没完全明白。我什至可以编译它,我什至感到惊讶。看起来像这样:enumFoo{VALUE_1{publicintmyVariable=1;},VALUE_2{publicvoidmyMethod(){//}},VALUE_3;}不出所料,无法通过以下方式访问此类元素:Foo.VALUE_2.myMethod();原因是,编译器将在枚举本身内寻找该方法。我认为不可能从枚举之外访问这些方法和变量。因此,我尝试创建一个参数构造函数,并使用一些内部变量进行调用:enumFoo{VALUE(internalVariable){intinterna

java - 将一个简单的枚举传递给 Java 中的构造函数

我正在努力学习Java。我想在构造函数中有一个枚举作为参数。但是我收到一个错误。publicclassPerson{privateintage,weight,height;privateStringname;privateenumgender{MALE,FEMALE}publicPerson(intage,intweight,intheight,Stringname,enumgender){this.age=age;this.weight=weight;this.height=height;this.name=name;this.gender=gender;}}我将如何处理性别问题?我

java - Eclipse 在枚举上阻塞,即使编译器合规级别为 1.6

我已将我的Eclipse项目的Compilercompliancelevel设置为1.6但是我得到如下截图所示的错误:Syntaxerror,annotationsareonlyavailableifsourcelevelis1.5。我刷新/清理/重新启动Eclipse至少10次。它与Maven2编译良好。Eclipse项目已经通过Maven2生成。项目使用java-6-openjdk 最佳答案 其他解决方案:1)将WorkspaceJRE设置为1.5(并应用/保存)。项目将重建。2)将WorkspaceJRE设置回1.6(并应用/